Skip to content

Algorithm Design and Problem-solving

9.1 Computational Thinking Skills

Candidates should be able to:

  1. Show an understanding of abstraction

Notes and guidance

  1. Need for and benefits of using abstraction
  2. Describe the purpose of abstraction
  3. Produce an abstract model of a system by only including essential details
  1. Describe and use decomposition

Notes and guidance

Break down problems into sub-problems leading to the concept of a program module (procedure / function)

9.2 Algorithms

Candidates should be able to:

  1. Show understanding that an algorithm is a solution to a problem expressed as a sequence of defined steps
  2. Use suitable identifier names for the representation of data used by a problem and represent these using an identifier table
  3. Write pseudocode that contains input, process and output
  4. Write pseudocode using the three basic constructs of sequence, selection and iteration (repetition)
  5. Document a simple algorithm using pseudocode
  6. Write pseudocode from:
    • a structured English description
    • a flowchart
  7. Describe and use the process of stepwise refinement to express an algorithm to a level of detail from which the task may be programmed
  8. Use logic statements to define parts of an algorithm solution